package cn.taskservice.jwt.config;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Getter
@Setter
@ConfigurationProperties(prefix = "task-job.jwt")
public class JwtPropertiesConfig{
    /**
     * 密钥，建议Base64编码后的字符串，长度足够长，且妥善保管
     */
    private String secret;

    /**
     * 过期时间，单位秒
     */
    private long expiration;

    /**
     * 请求头名称
     */
    private String header = "Authorization";

    /**
     * Token 自动续期阈值，单位秒（当剩余有效期小于此值时触发续期）
     */
    private long renewThreshold;

    /**
     * 自动续期频率限制，单位秒（避免频繁续期）
     */
    private long renewInterval;

    /**
     * 白名单 URL，逗号分隔
     */
    private String whitelistUrls;

    /**
     * 黑名单 URL，逗号分隔
     */
    private String blacklistUrls;
}
